<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>函数节流</title>
    <style>
      body {
        height: 2000px;
      }
    </style>
  </head>
  <body>
    <script type="text/javascript">
      /*
       * 函数节流：
       *   概念：设定一个特定的时间，让函数在特定的时间内只执行一次，不会频繁执行
       *   举例：fps游戏，鼠标按住不松手，子弹也不会连成一条线
       *   实现：定时器、标识
       *   需求：在鼠标滚轮滚动的时候，每隔2秒钟，打印一次
       *
       * */

      let body = document.getElementsByTagName("body")[0];
      let flag = true;
      body.onscroll = () => {
        if (flag) {
          console.log(1);
          flag = false;
          setTimeout(() => {
            flag = true;
          }, 2000);
        }
      };
    </script>
  </body>
</html>
